/**
 * @Project : algorithm-learning
 * @Author : Ruoyu Wang
 * @User : Momenta
 * @DateTime : 2024/3/16 16:51
 */

//小美拿到了一个数组。她希望你求出所有区间众数之和。你能帮帮她吗？
//定义区间的众数为出现次数最多的那个数。如果有多个数出现次数最多，那么众数是其中最小的那个数。
//
//输入描述
//  第一行输入一个正整数n，代表数组的大小。
//  第二行输入n个正整数ai，代表数组的元素。
//  1<= n <=200000
//  1<= ai <=2
//输出描述
//  一个正整数，代表所有区间的众数之和。
//
//示例 1
//输入
//3
//2 1 2
//输出
//9
//说明
//  [2],[2,1,2],[2]的众数是 2。
//  [2,1],[1],[1,2]的众数是 1。
//  因此答案是 9。

#include <iostream>

using namespace std;

int main() {
    int n;
    scanf("%d", &n);
    int a[n];
    for (int i = 0; i < n; ++i) {
        scanf("%d", &a[i]);
    }

    long long res = 0;
    for (int i = 0; i < n; ++i) {
        int so = 0;
        int st = 0;
        for (int j = i; j < n; ++j) {
            if (a[j] == 1)so++;
            else st++;
            if (so >= st) res += 1;
            else res += 2;
        }
    }

    printf("%lld", res);
    return 0;
}
